<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<meta name="renderer" content="webkit">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
		<link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
		<link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
		<link rel="stylesheet" href="../../../css/common.css" media="all">
	</head>
	<body>
		<div class="layui-fluid">
			<div class="layui-row layui-col-space15">
				<div class="layui-col-md12">
					<div class="layui-card">
						<!--<div class="layui-card-header">
							<span class="marign_right10">产品分类</span>
							<button class="layui-btn layui-btn-normal layui-btn-sm" id="add">添加</button>
							<button class="layui-btn layui-btn-danger layui-btn-sm" id="del">删除</button>
						</div>-->
						<div class="layui-card-body">
							<!-- 搜索 -->
							<form class="layui-form search" id="form" onsubmit="return false" action="##"> 
								<div class="layui-inline search_inline">
									<label class="layui-form-label">分类状态：</label>
									<div class="layui-input-inline">
										<select name="status" class="on_off" lay-filter='goods_status'></select>
									</div>
								</div>
								<div class="layui-inline search_inline">
									<label class="layui-form-label">分类名称：</label>
									<div class="layui-input-inline">
										<input class="layui-input" lay-verify="" name="name" placeholder="分类名称" autocomplete="off">
									</div>
								</div> 
								<button class="layui-btn search_inline" lay-submit="" lay-filter="search" data-type="reload">搜索</button>
								<button class="layui-btn layui-btn-primary search_inline" type="reset">重置</button>
								<button class="layui-btn layui-btn-primary search_inline" onclick="openAll();">展开或折叠全部</button>
							</form>
							<!-- 搜索 -->

							<table class="layui-hide" id="test-table-operate" lay-filter="test-table-operate"></table>

							<script type="text/html" id="test-table-operate-barDemo">
								{{# if(d.fid == 1) {}}
									<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="add">添加课程</a>
								{{# }}}
								{{# if(d.fid == 0) {}}
									<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="addcats">添加分类</a>
								{{# }}}
								{{# if(d.fid != 0 && d.fid != 1) {}}
							  		<a class="layui-btn layui-btn-xs" lay-event="edit">修改</a> 
							  	{{# }}}
							  	{{# if(d.fid == 0 || d.fid == 1) {}}
							  		<a class="layui-btn layui-btn-xs" lay-event="editcats">修改</a> 
							  	{{# }}}
							  	{{# if(d.fid != 0 && d.status == 0) {}}
									<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
								{{# }}}
							</script>
						</div>
					</div>
				</div>
			</div>
		</div>

		<script src="../../../layuiadmin/layui/layui.js"></script>
		<script src="../../../js/jquery.min.js"></script>
		<script src="../../../js/common.js"></script>
		<script>
			var editObj = null,
				ptable = null,
				treeGrid = null,
				tableId = 'test-table-operate',
				layer = null;
			layui.config({
				base: '../../../layuiadmin/' //静态资源所在路径
			}).extend({
				index: 'lib/index' //主入口模块
			}).use(['index', 'table', 'form', 'treeGrid'], function() {
				var table = layui.table,
					$ = layui.$,
					form = layui.form,
					treeGrid = layui.treeGrid,
					admin = layui.admin;

				var _data = {
					fid: '',
				}
				initdata();
				on_off_show("option")
				function initdata() {
					ptable = treeGrid.render({
						id: tableId,
						elem: '#' + tableId,
						url: server.class_cats_query,
						cellMinWidth: 100,
						idField: 'id', //必須字段
						treeId: 'id', //树形id字段名称
						treeUpId: 'fid', //树形父id字段名称
						treeShowName: 'title', //以树形式显示的字段
						heightRemove: [".dHead", 10], //不计算的高度,表格设定的是固定高度，此项不生效
						isFilter: false,
						iconOpen: true, //是否显示图标【默认显示】
						isOpenDefault: true, //节点默认是展开还是折叠【默认展开】
						loading: true,
						method: 'get',
						height: 'full-150',
						cols: [
							[{
								type: 'numbers'
							}, {
								width: 180,
								title: '操作',
								toolbar: '#test-table-operate-barDemo',
							}, {
								field: 'status',
								width: 100,
								title: '状态',
								templet: function(d) {
									var html = ''
									if(d.status == 1) {
										html = '<input type="checkbox" name="status" value=' + d.id +
											' lay-skin="switch" lay-text="启用|停用" lay-filter="status" checked>'
									} else {
										html = '<input type="checkbox" name="status" value=' + d.id +
											' lay-skin="switch" lay-text="启用|停用" lay-filter="status">'
									}
									return html;
								}
							}, {
								field: 'title',
								width: 200,
								title: '分类名称',
								sort: true
							},{
								field: 'id',
								title: '分类编号',
								width: 280,
								sort: true
							},{
								field: 'fid',
								title: '上级编号',
								width: 280,
								sort: true
							},{
								field: 'sid',
								width: 280,
								title: '层级编号'
							},{
								field: 'img',
								width: 90,
								title: '标题图片',
								templet: function(d) {
									return d.img ? '<a class="text_blue_color" href="javascript:;" lay-event="seeimg">查看</a>' : ''
								}
							},{
								field: 'oid',
								width: 80,
								title: '排序'
							},{
								field: 'addtime',
								title: '创建时间',
								width: 160,
								sort: true
							},{
								field: 'add_by',
								title: '创建人',
								width: 100,
								sort: true
							},{
								field: 'edittime',
								width: 160,
								title: '修改时间'
							},{
								field: 'edit_by',
								width: 100,
								title: '修改人'
							}]
						],
						page: false,
						where: _data,
						parseData: function(res) { //数据加载后回调
							return {
								"code": res.code, //解析接口状态
								"msg": res.msg, //解析提示文本
								"count": res.class_cats.pager.total, //解析数据长度
								"data": res.class_cats.data //解析数据列表
							};
						}, 
					});

					treeGrid.on('tool(' + tableId + ')', function(obj) {
						var data = obj.data;
						if (obj.event === 'del') { //删除行 
							
							layer.confirm('真的删除行么', function(index) {
								$.get(server.class_cats_delete, {
									id: data.id
								}, function(res, status) {
									if(status == 'success') {
										if(res.code == 0) {
											layer.alert('操作成功'); 
											initdata();
										} else {
											layer.msg(res.msg);
										}
									} else {
										layer.msg('服务器连接错误');
									}
								});
							});
						
						
						
							
						} else if (obj.event === "add") { //添加行								
							layer.open({
								type: 2,
								title: '添加课程',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['600px', '650px'],
								content: 'model/edit_add.html?fid=' + data.id,
								success: function(layero, index) {
									layer.full(index);
								},
								end: function() {
									initdata();
								}
							});
						} else if (obj.event === 'addcats') {
							layer.open({
								type: 2,
								title: '添加分类',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['600px', '650px'],
								content: 'model/pic_edit_add.html?fid=' + data.id,
								end: function() {
									initdata();
								}
							});
						}else if (obj.event === 'edit') {
							
							layer.open({
								type: 2,
								title: '修改课程',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['80%', '650px'],
								content: 'model/edit_add.html?id=' + data.id+'&fid='+data.fid,
								end: function() {
									initdata();
								},
							});
						}else if (obj.event === 'editcats') {
							
							layer.open({
								type: 2,
								title: '修改分类',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['80%', '650px'],
								content: 'model/pic_edit_add.html?id=' + data.id+'&fid='+data.fid,
								end: function() {
									initdata();
								},
							});
						}else if(obj.event === 'seeimg') {
							var img_data = {
								"data": [{
									"src": data.img
								}]
							}
							layer.photos({
								photos: img_data,
								anim: 5 //0-6的选择，指定弹出图片动画类型，默认随机
							});
						} 
					});
				}
				//监听搜索
				form.verify({
					memberid: function(value, item) { //value：表单的值、item：表单的DOM对象
						if (!value) {
							return '姓名不能为空';
						}
					}
				});

				//监听搜索
				form.on('submit(search)', function(data) {
					_data.fid = data.field.fid
					Object.assign(_data, data.field)
					initdata();
					return false;
				});

				$("button[type=reset]").on("click", function() {
					_data = {}
					initdata();
					document.getElementById("form").reset();
				});

				//监听表格复选框选择
				table.on('checkbox(test-table-operate)', function(obj) {
					console.log(obj)
				});
				
				window.openAll = function() {
					var treedata = treeGrid.getDataTreeList(tableId);
					treeGrid.treeOpenAll(tableId, !treedata[0][treeGrid.config.cols.isOpen]);
				}

				//监听工具条
				table.on('tool(test-table-operate)', function(obj) {
					var data = obj.data;
					if (obj.event === 'del') {
						layer.confirm('真的删除行么', function(index) {
							obj.del();
							layer.close(index);
						});
						
						
					} else if (obj.event === 'sreen') {
						_data.fid = data.id;
						$('input[name=fid]').val(data.id);
						initdata();
					}
				});
				form.on('switch(status)', function(obj) {
					var id = this.value;
					layer.confirm('确定要修改状态？', function(index) {
						if(obj.elem.checked) {
							submitdata(id, 1)
						} else {
							submitdata(id, 0)
						}
					}, function() {
						initdata();
						initdata1();
						layer.msg('取消操作');
					});

				});
				/* 修改状态 */
				function submitdata(id, status) {
					$.post(server.class_cats_edit, {
						id: id,
						status: status
					}, function(res, status) {
						if(status == 'success') {
							if(res.code == 0) {
								layer.alert('操作成功', function() {
									layer.closeAll();
								});
							} else {
								layer.msg(res.msg);
								layer.closeAll('loading');
							}
							initdata();
							initdata1();
						} else {
							layer.msg('服务器连接错误');
						}
					});
				} 
				
				var $ = layui.$,
					active = {
						getCheckData: function() { //获取选中数据
							var checkStatus = table.checkStatus('test-table-operate'),
								data = checkStatus.data;
							layer.alert(JSON.stringify(data));
						},
						getCheckLength: function() { //获取选中数目
							var checkStatus = table.checkStatus('test-table-operate'),
								data = checkStatus.data;
							layer.msg('选中了：' + data.length + ' 个');
						},
						isAll: function() { //验证是否全选
							var checkStatus = table.checkStatus('test-table-operate');
							layer.msg(checkStatus.isAll ? '全选' : '未全选')
						}
					};

				$('.test-table-operate-btn .layui-btn').on('click', function() {
					var type = $(this).data('type');
					active[type] ? active[type].call(this) : '';
				});
				$('#del').on('click', function() {
					layer.confirm('真的删除数据吗？', function(index) {
						// obj.del();
						layer.close(index);
					});
				});
			});
		</script>
	</body>
</html>
